/**
 * @file overwrite JOIN
 */
import normalize from './normalize'

const absoluteWinRegExp = /^[A-Z]:([\\/]|$)/i
const absoluteNixRegExp = /^\//i

const join = (path, request) => {
  if (!request) return normalize(path)
  if (absoluteWinRegExp.test(request)) return normalize(request.replace(/\//g, '\\'))
  if (absoluteNixRegExp.test(request)) return normalize(request)
  if (path === '/') return normalize(path + request)
  if (absoluteWinRegExp.test(path)) return normalize(path.replace(/\//g, '\\') + '\\' + request.replace(/\//g, '\\'))
  if (absoluteNixRegExp.test(path)) return normalize(path + '/' + request)
  return normalize(path + '/' + request)
}

export default join
